Yao Studio 介绍
此功能已停用
Yao未提供Yao Studio图形化拖拉拽的界面。但是有Studio 命令/Studio API。
Studio脚本拥有最高的执行权限(root)。可以操作应用目录下所有的数据文件与脚本文件。利用这一点,可以进行代码生成代码的操作。
//system /data/app/data 应用数据
function ReadFile() {
let fs = new FS('system');
let data = fs.ReadFile('/f1.txt'); // /data/app/data/f1.txt
return data;
}
//dsl 除 scripts 外的所有目录(仅 Studio 脚本可用)
function ReadFile() {
let fs = new FS('dsl');
let data = fs.ReadFile('/models/f1.mod.json'); // /data/app/models/f1.mod.json
return data;
}
//script 脚本目录(仅 Studio 脚本可用)
function ReadFile() {
let fs = new FS('script');
let data = fs.ReadFile('/f1.js'); // /data/app/scripts/f1.js
return data;
}Yao Studio 命令
Yao Studio命令用来执行/studios目录下的所有的脚本。注意:该命令只允许在YAO_ENV=development模式下运行
Studio并不是一个单独的命令,而是Yao的一个子命令,命令的调用方式如下。
# 脚本名字 ScriptName
# 方法名称 Method
# 参数列表 param1 param2
yao studio run ScriptName.Method param1 param2Studio JS API
在js脚本统一使用函数Studio中调用/studio目录下的脚本的函数。调用方法像其它的js函数一样。
//参数一是脚本名字.函数名
//参数二开始是函数的参数列表。
const data = Studio('file.DotName', modelName);Studio WEB API
Studio脚本函数也可以通过web rest api接口调用。不过跟一般的api接口调用不一样,它有单独的端口与入口。
Studio api请求的基础路由地址:http://127.0.0.1:5077/service/,端口可以通过环境变量YAO_STUDIO_PORT进行配置,比如在.env文件中修改。
如果需要调用脚本函数model.CreateOne,按以下的格式调用。
curl -X POST http://127.0.0.1:5077/service/model \
-H 'Content-Type: application/json' \
-H 'Authorization: Bearer <Studio JWT>' \
-d '{ "args":["yao.demo.pet"],"method":"CreateOne"}'url中的model是脚本名称,脚本函数访问与参数放在请求的payload里。
在Xgen action中调用
Xgen已经封装了Studio脚本函数的调用方法
如果需要在xgen表单界面上调用studio接口。在form.json配置中增加action配置。
注意只能使用管理员账号登录才能自动获取到studio的token
{
"title": "重新生成代码",
"icon": "icon-layers",
"showWhenAdd": true,
"showWhenView": true,
"action": [
{
"name": "StudioModel",
"type": "Studio.model", //类型名称设置成studio.脚本名称
"payload": {
//访问与参数
"method": "CreateOne",
"args": ["cms.help"]
}
},
{
"name": "Confirm",
"type": "Common.confirm",
"payload": {
"title": "提示",
"content": "处理完成"
}
}
]
}基于 Studio 开发的应用
Yao-admin,
Yao官方开发的根据数据库结构生成Yao应用的应用。这个版本目前是适用于0.10.2版本YaoYao-Admin,基于官方的应用适配的
Yao 0.10.3版本根据模型创建表格与表单,根据模型定义生成界面配置文件。比如执行下面的代码,能根据你的模型定义生成界面
Table/Form配置文件。需要下载安装插件脚本。shyao studio run init.CreateTable pet